1
Dalla gestione degli spazi di nomi ai sistemi modulari robusti
AI020Lesson 6
00:00

Nello sviluppo iniziale di JavaScript, Inquinamento dello spazio dei nomi era un ostacolo significativo. Quando codici non correlati condividono un singolo insieme di nomi di variabili globali, si verificano collisioni imprevedibili. Il design moderno passa da un atteggiamento strutturato a Sistemi modulari isolati.

1. Isolamento funzionale (IIFE)

Avvolgendo il codice in un Espressione di funzione immediatamente invocata (IIFE), creiamo uno spazio privato. Le variabili come names rimangono intrappolate all'interno della funzione, non accessibili dall'ambiente globale.

(function() {
var internal = "segreto";
console.log(internal);
})();

2. Interfacce basate su oggetti

Per fornire funzionalità al mondo esterno, un modulo restituisce un oggetto che agisce come suo interfaccia pubblica. Questo raggruppa metodi correlati (come name e number) sotto un'unica variabile globale riutilizzata.

Spazio privato[array names]Interfaccianame(), number()

3. Il pattern di esportazione

Una variazione sofisticata prevede il passaggio di un exports oggetto nell'IIFE. Ciò permette al modulo di collegare direttamente la sua API a un obiettivo specifico nello spazio dei nomi, offrendo flessibilità su come viene consumato il modulo.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>